In today's environment, resources such as processors, memory, and firewalls, among other things, are dynamically allocated (also commonly known as “provisioned”) to applications when a need for the resources arises. For example, a large application for providing Internet services may include several smaller applications, such as web server applications, intermediate server applications and one or more database managers. A user interacting with the Internet may request to see a webpage. A web server application will receive the request to display the web page, then an intermediate application server will receive the request and finally data may be obtained from the database manager in order to display the web page.
Conventional workload management software is used for determining how resources are to be dynamically allocated to applications. Since the application executing on the web server is the first application to receive the request for the web page, the conventional workload management software will detect that the demand for the web server application has increased. The conventional workload management software will allocate additional resources to the application executing on the web server in order to satisfy its increased demand for resources. In order to provide these additional resources to the web server application, resources may be taken away from other parts of the system, such as one of the intermediate server applications or the database manager.
Then the demand on the application executing on the intermediate application servers will increase. So the conventional workload management server will allocate additional resources to the application executing on the intermediate servers. The resources allocated to the intermediate server application may be taken away from other parts of the system, such as one of the web server applications or the database manager. Finally, the demand on the database manager will increase, so the conventional workload management software will allocate additional resources to the database manager. The resources allocated to the database manager may be taken away from other parts of the system, such as one of the web server applications or one of the intermediate server applications.
In the meantime, the user is waiting to see their web page and will become impatient. The user may impatiently start to click on buttons which only increases the demand on the applications (e.g., web server applications, intermediate server applications, and the database manager) and therefore increases the need for more resources and the moving of resources around. Therefore, conventional workload management software is not able to adequately allocate resources.
The drawings referred to in this description should not be understood as being drawn to scale unless specifically noted.